package com.zhengxin.one.mapper;

import com.zhengxin.one.dto.KeepListDTO;
import com.zhengxin.one.dto.backPayDTO;
import com.zhengxin.one.dto.caseDTO;
import com.zhengxin.one.dto.caseInfoDTO;
import com.zhengxin.one.dto.vo.RepairPayListVO;
import com.zhengxin.one.entity.*;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;

@Component
public interface PolicyAddrMapper {
    //获取参保地
    List<String> getBaseInfo();
    //获取方案
    List<caseDTO> getCaseInfo(String base,int type);
    //获取商保方案
    List<Map<String,Object>> getComminsure();
    //获取商保方案价格
    String getPay(String code);
    //查方险种名
    String getName(String code);
    //获取方案
    List<caseInfoDTO> getCaseInfos(String name, int type);
    //获取商保方案
    String getComminsures(String name);
    //获取方案(根据id获取方案名)
    Map<String,String> getCaseName(String idCard, int type);
    //获取公司下的人
    List<Map<String,String>> getPerList(String companyId,String keyword);
    //根据id查社保
    BillSociety getSo(String idCard);
    //根据id查公积金
    BillAccumulation getAc(String idCard);
    //验证续签有没有这个人，续签月份对不对
    String checkPson(String companyId ,String idCard);
    //续缴生成订单
    int insertOrder(KeepListDTO keepListDTO);
    //修改订单状态
    int updataOrder(String OrderNumber);
    //查询订单
    Order foundOrder(String OrderNumber);
    //修改结束时间
    int updataOrderE(String idCard, String endTime);
    //修改开始时间和结束时间
    int updataOrderS(String idCard,String staterTime,String endTime);
    //修改结束时间
    int updataOrderEE(String idCard, String endTime);
    //修改开始时间和结束时间
    int updataOrderSS(String idCard,String staterTime,String endTime);
    //获取补缴列表
    List<RepairPayListVO> foundList(String companyId,String keyword);
    //获取所有社保
    List<BillSociety> getAllSo();
    //获取所有公积金
    List<BillAccumulation> getAllAc();
    //社保订单数量
    int getNumberSo(String idCard,String time);
    //公积金订单数量
    int getNumberAc(String idCard,String time);
    //修改状态
    void changeBase(String idCard);
    //根据方案名去查方案id
    Map<String,String> getCaseId(String name, int type);
    //根据方案id查险种
    List<Map<String,String>> getSupp(String product_id,int type);
    //根据险种查补缴信息
    TSoAc suppInfo(String type_code, int type);
    //根据id查基数
    String getCbase(String idCard,int type);
    //查询订单根据id
    int foundOrderById(String idCard,String time,int type);
    //根据方案名获取方案id
    String getPlanId(String name,int type);
    //获取险种比例社保
    List<Map<String, BigDecimal>> getRish(String code, int type);
    //增员支付后修改状态
    void  getUpAdd(String idCard,int type,String start,String end);
    //获取明细中的订单信息
    List<Order> getKeepInfo(String keyword,String dataTime,String userId);
    //查询企业名称
    String getNameC(String userId);
    //查询所以减员信息
    List<Map<String, String>> getDownC();
    //删除recond
    void deInfoa(String idCard);
    //删除base
    void deInfob(String idCard);
    //删除sac
    void deInfoc(String idCard,int type);
    //获取理赔数量
    int getCPs(String companyId);
    //获取理赔数量
    int getSPs(String companyId);
    //获取理赔数量
    List<Map> getSEs(String companyId);
    //获取理赔数量
    List<Map> getAEs(String companyId);
    //获取理赔数量
    List<Map> getCEs(String companyId);
    //获取首页待支付数量
    int getOrderD(String companyId);
}
